package com.example.ivory.accountbook.packetActivity;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.ivory.accountbook.R;
import java.util.*;

/**
 * Created by 王如梦 on 2016/8/26.
 * 创建钱包主界面listView显示的适配器
 */
public class ShowAdapter extends BaseAdapter {
    //Activity 上下文对象
    private Context context=null;

    //用来记录各个item里内容
    //Map有 <"name",>和  <"money",> 和 <"logo",> 和 <"color",> 和 <"type">
    private List<Map<String,Object>> listDate=null;

    //构造函数，赋值对应的两个参数
    public ShowAdapter(Context contexts,List<Map<String,Object>>list ){
        this.context=contexts;
        listDate=list;
    }

    @Override
    public int getCount() {
        return listDate.size();
    }

    @Override
    public Map<String,Object> getItem(int i) {
        return listDate.get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    //设置第一个item无法点击
    public boolean isEnabled(int position){
        if(position==0)
            return false;
        else
            return true;
    }

    //View当前每一条Items，每一个钱包一个View对象，i就是对应每一条的索引
    // 也就是list集合对应的索引
    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        //通过赋值的context创建布局资源管理器
        LayoutInflater layoutInflater=LayoutInflater.from(context);

        //加载布局资源文件
        view=layoutInflater.inflate(R.layout.activity_showitems,null);
        ImageView image= (ImageView) view.findViewById(R.id.imageviewPacketLogo);
        TextView txtname= (TextView) view.findViewById(R.id.textviewPacketName);
        TextView txtmoney=(TextView) view.findViewById(R.id.textviewPacketBalance);
        TextView txttype= (TextView) view.findViewById(R.id.textviewPacketType);
        /*？？？？ 有一个可能会出错的问题，就是把不同界面相同动能的按钮取为同一个id名*/

        //对每个item进行设置,包括背景色等
        //但是有两个item不太一样，所以要进行排除
        txtname.setText(this.listDate.get(i).get("name").toString());

        if(!this.listDate.get(i).get("type").toString().equals("notype"))
            txttype.setText(this.listDate.get(i).get("type").toString()+"余额");

        if(!this.listDate.get(i).get("money").toString().equals("nomoney"))
            txtmoney.setText(this.listDate.get(i).get("money").toString());

        view.setBackgroundColor((Integer) this.listDate.get(i).get("color"));

        if(!this.listDate.get(i).get("logo").toString().equals("nologo"))
            image.setImageResource(R.drawable.user);

        return view;
    }
}
